#ifndef LIGHT_HPP
#define LIGHT_HPP

class Light{
public:
    enum class LightType{
        Red = 0,
        Green = 1,
        Blue = 2,
    };

public:
    virtual bool init() = 0;
    virtual void set(LightType lighttype,bool status)= 0;
    virtual bool get(LightType lighttype,bool status)= 0;
    virtual void setLight(LightType lighttype,int duty) = 0;
    
    static Light *getInstance();

};

class _Light : public Light{
public:
    virtual bool init();
    virtual void set(LightType lighttype,bool status);
    virtual bool get(LightType lighttype,bool status);
    virtual void setLight(LightType lighttype,int duty);
};




#endif


